// 将上一个文件进行复制并改造
// 需求：登录和退出登录
// session 
// express-session

// 下载相关依赖
// 1. 导入express模块
const express = require('express')
// 2. 导入express-session模块
const session = require('express-session');
// 3. 导入ejs模块
const ejs = require('ejs');

// 导入相关路由器
const pageRouter = require('./routes/pageRouter');
const loginRouter = require('./routes/loginRouter');

// 6. 创建express对象
const app = express();
// 7. 配置ejs
    // 7.1 设置ejs模板所在目录
    // 7.2 调用ejs.engine方法，设置ejs渲染模板文件后缀类型
app.set('views',__dirname+'/html');
app.engine('html',ejs.renderFile);
 
// 8. 使用获取请求体数据中间件
app.use(express.urlencoded({extended:false}));

// 9. 使用session中间件并配置
app.use(session({
    secret:"chilema",
    resave:false,
    saveUninitialized:false,
    cookie:{
        maxAge:1000*60
    }
}))
    // 9.1 参数："name" = 设置cookie的name，默认值是：connect.sid
    // 9.2 参数："secret" = 参与加密的字符串（又称签名）
    // 9.3 参数："saveUninitialized" = 是否为每次请求都设置一个cookie用来存储
    // 9.3 参数："resave" = 强制保存 session 即使它并没有变化,。默认为 true。建议设置成 false
    // 9.4 参数："cookie" = 存储到cookie的相关配置
        // 9.4.1 参数："httpOnly" 开启后,前端无法通过 JS 操作
        // 9.4.2 参数："maxAge"  控制 sessionID 的过期时间

// 使用路由器
app.use(pageRouter);
app.use(loginRouter);
        
    
// 15. 监听端口服务
app.listen(80,()=>{
    console.log("启动成功");
});

// 1. 将路由以功能类型划分不同的路由器上
    // 创建routes文件夹并新建相关js文件
    // 1.1 将页面渲染相关路由划分到pageRouter中
    // 1.2 将请求接口相关路由划分到loginApiRouter中
    // 1.3 将相关依赖模块转移到对应router文件内
// 2. 导入相关router文件
// 3. 使用相关router

